Updates for new functions
authorOwen Taylor <otaylor@redhat.com>
Thu, 14 Sep 2000 16:39:16 +0000 (16:39 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 14 Sep 2000 16:39:16 +0000 (16:39 +0000)
Thu Sep 14 12:38:33 2000  Owen Taylor  <otaylor@redhat.com>

        * docs/reference/gdk/: Updates for new functions

* docs/reference/gdk/tmpl/gtkclipboard.sgml
docs/reference/gdk/tmpl/gtkselection.sgml: Updates
and new information.

docs/reference/gdk/gdk-decl.txt
docs/reference/gdk/gdk-sections.txt
docs/reference/gdk/tmpl/properties.sgml
docs/reference/gdk/tmpl/x_interaction.sgml
docs/reference/gtk/tmpl/gtkclipboard.sgml [new file with mode: 0644]
docs/reference/gtk/tmpl/gtkselection.sgml

index 4108b0b2ca5bc5bb3567faa2b96a6000e19c116a..0d40604f541f31206df8a32e786997023e742d4c 100644 (file)
@@ -265,6 +265,11 @@ GdkNativeWindow anid
 <RETURNS>gpointer  </RETURNS>
 XID              xid
 </FUNCTION>
+<FUNCTION>
+<NAME>gdk_x11_get_server_time</NAME>
+<RETURNS>guint32  </RETURNS>
+GdkWindow       *window
+</FUNCTION>
 <MACRO>
 <NAME>gdk_window_lookup</NAME>
 #define gdk_window_lookup(xid)    ((GdkWindow*) gdk_xid_table_lookup (xid))
@@ -2606,39 +2611,6 @@ void
 <RETURNS>void  </RETURNS>
 PangoContext *context,GdkColormap  *colormap
 </FUNCTION>
-<ENUM>
-<NAME>GdkPixbufAlphaMode</NAME>
-typedef enum
-{
-  GDK_PIXBUF_ALPHA_BILEVEL,
-  GDK_PIXBUF_ALPHA_FULL
-} GdkPixbufAlphaMode;
-</ENUM>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_threshold_alpha</NAME>
-<RETURNS>void  </RETURNS>
-GdkPixbuf           *pixbuf,GdkBitmap           *bitmap,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,int                  alpha_threshold
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_to_drawable</NAME>
-<RETURNS>void  </RETURNS>
-GdkPixbuf           *pixbuf,GdkDrawable         *drawable,GdkGC               *gc,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,GdkRgbDither         dither,int                  x_dither,int                  y_dither
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_to_drawable_alpha</NAME>
-<RETURNS>void  </RETURNS>
-GdkPixbuf           *pixbuf,GdkDrawable         *drawable,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,GdkPixbufAlphaMode   alpha_mode,int                  alpha_threshold,GdkRgbDither         dither,int                  x_dither,int                  y_dither
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_pixmap_and_mask</NAME>
-<RETURNS>void  </RETURNS>
-GdkPixbuf           *pixbuf,GdkPixmap          **pixmap_return,GdkBitmap          **mask_return,int                  alpha_threshold
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_get_from_drawable</NAME>
-<RETURNS>GdkPixbuf  *</RETURNS>
-GdkPixbuf   *dest,GdkDrawable *src,GdkColormap *cmap,int          src_x,int          src_y,int          dest_x,int          dest_y,int          width,int          height
-</FUNCTION>
 <STRUCT>
 <NAME>GdkPixmapObject</NAME>
 </STRUCT>
@@ -2764,6 +2736,21 @@ GdkWindow     *window,GdkAtom        property
 GdkAtom        encoding,gint           format,const guchar  *text,gint           length,gchar       ***list
 </FUNCTION>
 <FUNCTION>
+<NAME>gdk_text_property_to_utf8_list</NAME>
+<RETURNS>gint  </RETURNS>
+GdkAtom        encoding,gint           format,const guchar  *text,gint           length,gchar       ***list
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_utf8_to_string_target</NAME>
+<RETURNS>gchar    *</RETURNS>
+const gchar *str
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_utf8_to_compound_text</NAME>
+<RETURNS>gboolean  </RETURNS>
+const gchar *str,GdkAtom     *encoding,gint        *format,guchar     **ctext,gint        *length
+</FUNCTION>
+<FUNCTION>
 <NAME>gdk_free_text_list</NAME>
 <RETURNS>void  </RETURNS>
 gchar        **list
@@ -3859,3 +3846,36 @@ GdkWindow    *window,gboolean      update_children
 <NAME>GDK_HAVE_WCTYPE_H</NAME>
 #define GDK_HAVE_WCTYPE_H 1
 </MACRO>
+<ENUM>
+<NAME>GdkPixbufAlphaMode</NAME>
+typedef enum
+{
+  GDK_PIXBUF_ALPHA_BILEVEL,
+  GDK_PIXBUF_ALPHA_FULL
+} GdkPixbufAlphaMode;
+</ENUM>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_threshold_alpha</NAME>
+<RETURNS>void  </RETURNS>
+GdkPixbuf           *pixbuf,GdkBitmap           *bitmap,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,int                  alpha_threshold
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_to_drawable</NAME>
+<RETURNS>void  </RETURNS>
+GdkPixbuf           *pixbuf,GdkDrawable         *drawable,GdkGC               *gc,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,GdkRgbDither         dither,int                  x_dither,int                  y_dither
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_to_drawable_alpha</NAME>
+<RETURNS>void  </RETURNS>
+GdkPixbuf           *pixbuf,GdkDrawable         *drawable,int                  src_x,int                  src_y,int                  dest_x,int                  dest_y,int                  width,int                  height,GdkPixbufAlphaMode   alpha_mode,int                  alpha_threshold,GdkRgbDither         dither,int                  x_dither,int                  y_dither
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_pixmap_and_mask</NAME>
+<RETURNS>void  </RETURNS>
+GdkPixbuf           *pixbuf,GdkPixmap          **pixmap_return,GdkBitmap          **mask_return,int                  alpha_threshold
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_get_from_drawable</NAME>
+<RETURNS>GdkPixbuf  *</RETURNS>
+GdkPixbuf   *dest,GdkDrawable *src,GdkColormap *cmap,int          src_x,int          src_y,int          dest_x,int          dest_y,int          width,int          height
+</FUNCTION>
index 44193f11b20d8e76006ecd751a879f94c15f85bb..7bb239bcb2bc33bc9eca1c1b63775cdac2f2e57f 100644 (file)
@@ -504,8 +504,11 @@ GdkAtom
 GDK_NONE
 gdk_text_property_to_text_list
 gdk_free_text_list
+gdk_text_property_to_utf8_list
 gdk_string_to_compound_text
 gdk_free_compound_text
+gdk_utf8_to_string_target
+gdk_utf8_to_compound_text
 gdk_atom_intern
 gdk_atom_name
 gdk_property_get
@@ -840,6 +843,7 @@ gdk_xid_table_lookup
 gdk_window_lookup
 gdk_pixmap_lookup
 gdk_font_lookup
+gdk_x11_get_server_time
 
 <SUBSECTION Private>
 GDK_TYPE_GC_X11
index d792214a1c69de54c6d027710351c7d572e68601..caee1ac68c669eb04fec83e06ee40ad30abc6884 100644 (file)
@@ -88,6 +88,19 @@ gdk_text_property_to_text_list().
        a call to gdk_text_property_to_text_list().
 
 
+<!-- ##### FUNCTION gdk_text_property_to_utf8_list ##### -->
+<para>
+
+</para>
+
+@encoding: 
+@format: 
+@text: 
+@length: 
+@list: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gdk_string_to_compound_text ##### -->
 <para>
 Convert a string from the encoding of the current locale 
@@ -110,6 +123,28 @@ Free the data returned from gdk_string_to_compound_text().
 @ctext: The pointer stored in @ctext from a call to gdk_string_to_compound_text().
 
 
+<!-- ##### FUNCTION gdk_utf8_to_string_target ##### -->
+<para>
+
+</para>
+
+@str: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gdk_utf8_to_compound_text ##### -->
+<para>
+
+</para>
+
+@str: 
+@encoding: 
+@format: 
+@ctext: 
+@length: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gdk_atom_intern ##### -->
 <para>
 Find or create an atom corresponding to a given string.
index 5de1e7e077c40948ab7892da9f53a26c4d60d827..740f3911cde924cebc1de723114dc8e52a9770ed 100644 (file)
@@ -295,3 +295,12 @@ X Window System Interaction
 @xid: 
 
 
+<!-- ##### FUNCTION gdk_x11_get_server_time ##### -->
+<para>
+
+</para>
+
+@window: 
+@Returns: 
+
+
diff --git a/docs/reference/gtk/tmpl/gtkclipboard.sgml b/docs/reference/gtk/tmpl/gtkclipboard.sgml
new file mode 100644 (file)
index 0000000..2b46d0c
--- /dev/null
@@ -0,0 +1,260 @@
+<!-- ##### SECTION Title ##### -->
+Clipboards
+
+<!-- ##### SECTION Short_Description ##### -->
+Storing data on Clipboards.
+
+<!-- ##### SECTION Long_Description ##### -->
+  <para>
+    The #GtkClipboard object represents a clipboard of data shared
+    between different processes or between different widgets in
+    the same process. Each clipboard is identified by a name encoded as a
+    #GdkAtom. (Conversion to and from strings can be done with
+    gdk_atom_intern() and gdk_atom_name().) The default clipboard
+    corresponds to the CLIPBOARD atom; another commonly used clipboard
+    is the PRIMARY clipboard, which, in X, traditionally contains
+    the currently selected text. 
+  </para>
+  <para>
+    To support having a number of different formats on the clipboard
+    at the same time, the clipboard mechanism allows providing
+    callbacks instead of the actual data.  When you set the contents
+    of the clipboard, you can either supply the data directly (via
+    functions like gtk_clipboard_set_text()), or you can supply a
+    callback to be called at a later time when the data is needed (via
+    gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().)
+    Providing a callback also avoids having to make copies of the data
+    when it is not needed.
+  </para>
+  <para>
+    gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner()
+    are quite similar; the choice between the two depends mostly on
+    which is more convenient in a particular situation.
+    The former is most useful when you want to have a blob of data
+    with callbacks to convert it into the various data types that you
+    advertise. When the @clear_func you provided is called, you
+    simply free the data blob. The latter is more useful when the
+    contents of clipboard reflect the internal state of a @GObject
+    (As an example, for the PRIMARY clipboard, when an entry widget
+    provides the clipboard's contents the contents are simply the
+    text within the selected region.) If the contents change, the
+    entry widget can call gtk_clipboard_set_with_owner() to update
+    the timestamp for clipboard ownership, without having to worry
+    about @clear_func being called.
+  </para>
+  <para>
+    Requesting the data from the clipboard is essentially
+    asynchronous. If the contents of the clipboard are provided within
+    the same process, then a direct function call will be made to
+    retrieve the data, but if they are provided by another process,
+    then the data needs to be retrieved from the other process, which
+    may take some time. To avoid blocking the user interface, the call
+    to request the selection, gtk_clipboard_request_contents() takes a
+    callback that will be called when the contents are received (or
+    when the request fails.) If you don't want to deal with providing
+    a separate callback, you can also use gtk_clipboard_wait_for_contents().
+    What this does is run the Glib main loop recursively waiting for
+    the contents. This can simplify the code flow, but you still have
+    to be aware that other callbacks in your program can be called
+    while this recursive mainloop is running.
+  </para>
+  <para>
+    Along with the functions to get the clipboard contents as an
+    arbitrary data chunk, there are also functions to retrieve
+    it as text, gtk_clipboard_request_text() and
+    gtk_clipboard_wait_for_text(). These functions take care of
+    determining which formats are advertised by the clipboard
+    provider, asking for the clipboard in the best available format
+    and converting the results into the UTF-8 encoding. (The standard
+    form for representing strings in GTK+.)
+  </para>
+  
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkSelection</term>
+<listitem><para>@GtkClipboard provides a high-level wrapper around the
+           lower level routines that deal with X selections. It is
+           also possibly to directly manipulate the X selections,
+           though it is seldom necessary to do so.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkClipboard ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gtk_clipboard_get ##### -->
+<para>
+
+</para>
+
+@selection: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_with_data ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@targets: 
+@n_targets: 
+@get_func: 
+@clear_func: 
+@user_data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_with_owner ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@targets: 
+@n_targets: 
+@get_func: 
+@clear_func: 
+@owner: 
+@Returns: 
+
+
+<!-- ##### USER_FUNCTION GtkClipboardGetFunc ##### -->
+<para>
+A function that will be called to provide the contents of the selection.
+If multiple types of data were advertised, the requested type can
+be determined from the @info parameter or by checking the target field
+of @selection_data. If the data could succesfully be converted into
+then it should be stored into the @selection_data object by
+calling gtk_selection_data_set() (or related functions such
+as gtk_seletion_data_get().) If no data is set, the requestor
+will be informed that the attempt to get the data failed.    
+</para>
+
+@clipboard:          the #GtkClipboard
+@selection_data:     a #GtkSelectionData argument in which the requested
+                     data should be stored. 
+@info:               the info field corresponding to the requested
+                     target from the #GtkTargetEntry array passed to
+                     gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().
+@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
+                     the @owner argument passed to gtk_clipboard_set_owner()
+
+<!-- ##### USER_FUNCTION GtkClipboardClearFunc ##### -->
+<para>
+A function that will be called when the contents of the clipboard are changed
+or cleared. Once this has called, the @user_data_or_owner argument
+will not be used again.
+</para>
+
+@clipboard:          the #GtkClipboard
+@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
+                     the @owner argument passed to gtk_clipboard_set_owner()
+
+
+<!-- ##### FUNCTION gtk_clipboard_get_owner ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_clear ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_text ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@text: 
+@len: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_request_contents ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@target: 
+@callback: 
+@user_data: 
+
+
+<!-- ##### USER_FUNCTION GtkClipboardReceivedFunc ##### -->
+<para>
+    A function to be called when the results of gtk_clipboard_request_text()
+    are received, or when the request fails.
+</para>
+
+@clipboard:      the #GtkClipboard 
+@selection_data: a #GtkSelectionData containing the data was received.
+                 If retrieving the data failed, then then length field
+                 of @selection_data will be negative.
+@data:           the @user_data supplied to gtk_clipboard_request_contents().
+
+
+<!-- ##### FUNCTION gtk_clipboard_request_text ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@callback: 
+@user_data: 
+
+
+<!-- ##### USER_FUNCTION GtkClipboardTextReceivedFunc ##### -->
+<para>
+    A function to be called when the results of gtk_clipboard_request_text()
+    are received, or when the request fails.
+</para>
+
+@clipboard: the #GtkClipboard
+@text:      the text received, as a UTF-8 encoded string, or %NULL
+            if retrieving the data failed.
+@data:      the @user_data supplied to gtk_clipboard_request_text().
+
+
+<!-- ##### FUNCTION gtk_clipboard_wait_for_contents ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@target: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_clipboard_wait_for_text ##### -->
+<para>
+
+</para>
+
+@clipboard: 
+@Returns: 
+
+
+<!--
+Local variables:
+mode: sgml
+sgml-parent-document: ("../gtk-docs.sgml" "book" "refsect2" "")
+End:
+-->
index a819f84cabe580a50895a1ca65787abe86793627..eaeb6e1987be4104369b6bd7b37e4b6cf9ca0224 100644 (file)
@@ -7,12 +7,37 @@ Functions for handling inter-process communication via selections.
 <!-- ##### SECTION Long_Description ##### -->
 
 <para>
-See the documentation for #GtkWidget for descriptions
-of the "selection_get" and "selection_received" signals.
+The selection mechanism provides the basis for different types
+of IPC between processes. In particular, drag and drop and
+#GtkClipboard work via selections. You will very seldom or
+never need to use most of the functions in this section directly;
+#GtkClipboard provides a nicer interface to the same functionality.
+</para>
+<para>
+Some of the datatypes defined this section are used in
+the #GtkClipboard and drag-and-drop API's as well. The
+#GtkTargetEntry structure and #GtkTargetList objects represent
+lists of data types that are supported when sending or
+receiving data. The #GtkSelectionData object is used to
+store a chunk of data along with the data type and other
+associated information.
 </para>
 
 <!-- ##### SECTION See_Also ##### -->
 <para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkWidget</term>
+<listitem><para>Much of the operation of selections happens via
+             signals for #GtkWidget. In particular, if you are
+             using the functions in this section, you may need
+             to pay attention to ::selection_get,
+             ::selection_received,  and :selection_clear_event
+             signals.</para></listitem>
+</varlistentry>
+
+</variablelist>
 
 </para>
 
@@ -159,6 +184,15 @@ for a given widget and selection.
 @ntargets: number of entries in @targets
 
 
+<!-- ##### FUNCTION gtk_selection_clear_targets ##### -->
+<para>
+
+</para>
+
+@widget: 
+@selection: 
+
+
 <!-- ##### FUNCTION gtk_selection_convert ##### -->
 <para>
 Request the contents of a selection. When received, 
@@ -175,6 +209,29 @@ a "selection_received" signal will be generated.
           this widget).
 
 
+<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
+<para>
+Removes all handlers and unsets ownership of all 
+selections for a widget. Called when widget is being
+destroyed. This function will not generally be
+called by applications.
+</para>
+
+@widget: a #GtkWidget
+
+
+<!-- ##### STRUCT GtkSelectionData ##### -->
+<para>
+
+</para>
+
+@selection: 
+@target: 
+@type: 
+@format: 
+@data: 
+@length: 
+
 <!-- ##### FUNCTION gtk_selection_data_set ##### -->
 <para>
 Store new data into a GtkSelectionData object. Should
@@ -189,15 +246,23 @@ Null terminates the stored data.
 @length: length of the data
 
 
-<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
+<!-- ##### FUNCTION gtk_selection_data_set_text ##### -->
 <para>
-Removes all handlers and unsets ownership of all 
-selections for a widget. Called when widget is being
-destroyed. This function will not generally be
-called by applications.
+
 </para>
 
-@widget: a #GtkWidget
+@selection_data: 
+@str: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_selection_data_get_text ##### -->
+<para>
+
+</para>
+
+@selection_data: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_selection_data_copy ##### -->